 #pragma once
#ifndef _LPE_RESMAN_XMLHELPER_H_
#define _LPE_RESMAN_XMLHELPER_H_

#include "tinyxml/tinyxml.h"
#include "core/core_utils.h"
#include "Log/LogSystem.h"


namespace lpe{
	namespace resman{
		class XMLNodeTree;
		/**
		 * Simplifica la lectura de XML.
		 * Esta clase ayuda a leer un fichero .xml sin tener que hacer todo el parseado cada vez. Esta clase se apoya en tinyXML y
		 * genera estructuras que facilitan la lectura en cada momento de las entradas de un fichero XML.
		 */
		class XMLHelper
		{
		private:

			//XMLNodeTree* m_nodeTree;
			std::string m_fileName;
			std::string m_appender;
			glog::CGlobalLog* m_log;
			XMLNodeTree* m_rootNode;
		protected:
			virtual bool openXMLFile();
		public:

			XMLHelper(const std::string& fileName);
			void init(const std::string& APPENDER);
			XMLNodeTree* getXMLRootNode();
			virtual ~XMLHelper();
		};
	};
};

#endif //_LPE_RESMAN_XMLHELPER_H_
